import java.util.Scanner;

public class Test {
    public static boolean narNumber(int n){
        int count = 0;
        int sum = 0;
        int tmp = n;
        while(tmp != 0){
            count++;
            tmp /= 10;
        }
        tmp = n;
        while(tmp != 0){
            sum += Math.pow(tmp % 10, count);
            tmp /= 10;
        }
        if(sum == n){
            return true;
        }
        return false;
    }

    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        int a = 10;
        int b = 20;
        boolean flag = narNumber(n);
        if (flag == true){
            System.out.println(n+"是水仙花数");
        }else{
            System.out.println(n+"不是水仙花数");
        }
    }
//    public static int count(int n){
//        int sum = 0;
//        while(n != 0){
//            n = n&(n-1);
//            sum++;
//        }
//        return sum;
//    }
//    public static void main(String[] args){
//        Scanner scan = new Scanner(System.in);
//        int n = scan.nextInt();
//        int sum = count(n);
//        System.out.println(sum);
//    }
//    public static boolean leapYear(int n){
//        if(n%4 == 0 && n%100 != 0 || n%400 == 0){
//            return true;
//        }
//        return false;
//    }
//    public static void main(String[] args){
//        for (int i = 1000; i <= 2000; i++) {
//            if (leapYear(i)){
//                System.out.print(i+" ");
//            }
//        }
//    }

//    public static boolean primeNumber(int a){
//        for (int i = 2; i <= Math.sqrt(a) ; i++) {
//            if(a % i == 0){
//                return false;
//            }
//        }
//        return true;
//    }
//    public static void main(String[] args){
//        for (int i = 2; i <= 100; i++) {
//            if(primeNumber(i)){
//                System.out.println(i+" ");
//            }
//        }
//    }
//    public static void main(String[] args){
//        Scanner scan = new Scanner(System.in);
//        int n = scan.nextInt();
//        for(int i = 0; i < n; i++){
//            for(int j = 0; j < n; j++){
//                if(i == j || i + j == n - 1) {
//                    System.out.print("*");
//                }else{
//                    System.out.print(" ");
//                }
//            }
//            System.out.println();
//        }
//    }

  /*public static int add(short b,int a,int c) {
        return a + b + c;
    }
    public static int add(int a,short b,int c) {
        return a + b + c;
    }
    public static int add(int a,int c,short b){
        return a + b + c;
    }

    public static double add(double a,double b) {
        return a + b;
    }
    public static int add(int a,int b) {
        return a + b;
    }
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = add(a,b);
    }*/
    /*public static void main(String[] args){
        /*int a = 10;
        if(a > 10){
            System.out.println("a > 10");
        }
        else if(a == 10){
            System.out.println("a = 10");
        }else{
            System.out.println("a < 10");
        }*/
        /*int a = 10;
        switch(a){
            case 1:
                System.out.println(1);
                break;
            case 10:
                System.out.println(10);
            default:
                System.out.println(0);
                break;
        }*/
    //}
}
